﻿Public Class frmPoprawki

    Private mvarChanged As Boolean
    Private mvarDbHolder As clsDataBase
    Private mvarUzytkownik As clsUzytkownik
    Private mvarPozycjaZlecenia As clsInhTrPozycjaZlecenia
    Private mvarDrutKontroli As clsInhTrKontrola
    Private mvarWyznInformacje As Boolean

    Public Sub New()
        ' To wywołanie jest wymagane przez projektanta.
        InitializeComponent()

        ' Dodaj inicjację po wywołaniu funkcji InitializeComponent().
        mvarDbHolder = New clsDataBase(VAR_CONNECTION_PARAMETERS, VAR_ERROR_HANDLER)
        mvarUzytkownik = CType(clsUzytkownik.Instance(), clsUzytkownik)

        SzukajDrutuDoPoprawy()
    End Sub

    Function SprawdzNumer(Liczba1 As String) As Boolean

        If Liczba1 <> String.Empty And IsNumeric(Liczba1) Then
            If CInt(Liczba1) > 0 Then
                Return True
            Else
                Return False
            End If
        Else
            Return False
        End If

    End Function

    Private Sub SzukajDrutuDoPoprawy()

        Dim lvarDrutDoPoprawy As clsTrSzukanie
        Dim lvarI As Integer

        lvarDrutDoPoprawy = New clsTrSzukanie
        lvarDrutDoPoprawy.SzukajDrutuPoKontroli(mvarDbHolder, 4, 0, 5, mvarUzytkownik.Id) 'drut do poprawy jest po kontroli(4), na ktorej otrzymal opcje poprawy(5)

        dgvListaDoKontroli.Rows.Clear()
        If lvarDrutDoPoprawy.Drut.Count = 0 Then
            MessageBox.Show("Nie ma żadnego drutu do poprawy", "WIREMET")
        Else
            For Each lvarTmp As clsInhTrDrut In lvarDrutDoPoprawy.Drut
                lvarI += 1
                dgvListaDoKontroli.Rows.Add(lvarI, lvarTmp.Id, lvarTmp.Kontrola.Uwagi)
                dgvListaDoKontroli.Rows(lvarI - 1).Tag = lvarTmp
                'sprawdzenie czy drut do poprawy nie jest juz poprawiony jeśli tak to nalezy go wyświetlic innym kolorem
                If clsInhTrDrut.PobierzRodzicId(mvarDbHolder, lvarTmp.Id) <> -1 Then
                    dgvListaDoKontroli.Rows.Item(lvarI - 1).DefaultCellStyle.BackColor = Color.LightSteelBlue
                End If
            Next
        End If

    End Sub

    Private Sub ZnajdzDrut()

        dgvListaDoKontroli.ClearSelection()

        For Each lvarRow As DataGridViewRow In dgvListaDoKontroli.Rows
            If CType(lvarRow.Tag, clsInhTrDrut).Id = CDbl(txtNumerDrutu.Text) Then
                lvarRow.Selected = True
                Exit For
            End If
        Next
        If dgvListaDoKontroli.SelectedRows.Count = 0 Then
            MessageBox.Show("Nie ma drutu o takim numerze.", "WIEREMET")
            txtNumerDrutu.Text = String.Empty
        End If

    End Sub


    Private Sub dgvListaDoKontroli_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles dgvListaDoKontroli.CellMouseClick

        Dim lvarDane As clsPoprawki
        Dim lvarKlient As String
        Dim lvarTermin As String
        Dim lvarPozycjaZleceniaId As Integer
        Dim lvarPozycjaSchematuId As Integer
        Dim lvarSchematId As Integer

        txtNumerDrutu.Text = CStr(CType(dgvListaDoKontroli.SelectedRows(0).Tag, clsInhTrDrut).Id)

        'pobranie danych potrzebnych do wywołania frmTrPozycjaZlecenia

        lvarDane = New clsPoprawki
        lvarDane.SzukajDanychZlecenia(mvarDbHolder, CStr(CType(dgvListaDoKontroli.SelectedRows(0).Tag, clsInhTrDrut).Id))

        For Each lvarRow As DataRow In lvarDane.DaneTab.Rows
            lvarKlient = CStr(lvarRow.Item("klient"))
            lvarTermin = CType(lvarRow.Item("termin"), Date).ToShortDateString
            lvarPozycjaZleceniaId = CInt(lvarRow.Item("pozycja_zlecenia_id"))
            lvarPozycjaSchematuId = CInt(lvarRow.Item("pozycja_schematu_id"))
            lvarSchematId = CInt(lvarRow.Item("schemat"))
        Next


        Dim lvarFrme As New frmTrPozycjaZlecenia(lvarKlient, lvarTermin, lvarPozycjaZleceniaId, 0, 0, True, False)
        With lvarFrme
            .ShowDialog()
        End With

    End Sub


    Private Sub frmPoprwaki_Load(sender As Object, e As EventArgs) Handles Me.Load
        dgvListaDoKontroli.ClearSelection()
    End Sub

    Private Sub frmPoprawki_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
        mvarDbHolder.Close()
    End Sub


#Region "KeyPress"
    Private Sub txtNumerDrutu_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtNumerDrutu.KeyPress
        If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
            If SprawdzNumer(txtNumerDrutu.Text) Then
                ZnajdzDrut()
            Else
                MessageBox.Show("Podaj poprawnie numer.", "WIREMET")
            End If
        End If
    End Sub
#End Region

End Class